<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>登录页面 - 光年(Light Year Admin)后台管理系统模板</title>
<link rel="icon" href="favicon.ico" type="image/ico">
<meta name="keywords" content="LightYear,光年,后台模板,后台管理系统,光年HTML模板">
<meta name="description" content="LightYear是一个基于Bootstrap v3.3.7的后台管理系统的HTML模板。">
<meta name="author" content="yinqi">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/materialdesignicons.min.css" rel="stylesheet">
<link href="css/style.min.css" rel="stylesheet">
<style>
.lyear-wrapper {
    position: relative;
}
.lyear-login {
    display: flex !important;
    min-height: 100vh;
    align-items: center !important;
    justify-content: center !important;
}
.lyear-login:after{
    content: '';
    min-height: inherit;
    font-size: 0;
}
.login-center {
    background: #fff;
    min-width: 29.25rem;
    padding: 2.14286em 3.57143em;
    border-radius: 3px;
    margin: 2.85714em;
}
.login-header {
    margin-bottom: 1.5rem !important;
}
.login-center .has-feedback.feedback-left .form-control {
    padding-left: 38px;
    padding-right: 12px;
}
.login-center .has-feedback.feedback-left .form-control-feedback {
    left: 0;
    right: auto;
    width: 38px;
    height: 38px;
    line-height: 38px;
    z-index: 4;
    color: #dcdcdc;
}
.login-center .has-feedback.feedback-left.row .form-control-feedback {
    left: 15px;
}
</style>
</head>
  
<body>
<div class="row lyear-wrapper" style="background-image: url(images/login-bg.jpg); background-size: cover;">
  <div class="lyear-login">
    <div class="login-center">
      <div class="login-header text-center">
        <a href="index.html"> <img alt="light year admin" src="images/logo-sidebar.png"> </a>
      </div>
      <!-- 登录表单 -->
      <form id="loginForm">
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入您的用户名" class="form-control" name="username" id="username" />
          <span class="mdi mdi-account form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="password" placeholder="请输入密码" class="form-control" id="password" name="password" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
        </div>
        <div class="form-group has-feedback feedback-left row">
          <div class="col-xs-7">
            <input type="text" name="captcha" class="form-control" placeholder="验证码">
            <span class="mdi mdi-check-all form-control-feedback" aria-hidden="true"></span>
          </div>
          <!-- 验证码显示位置 -->
          <div class="col-xs-5">
            <img width="100" src="/captcha" class="pull-right" id="captcha" style="cursor: pointer;" onclick="this.src=this.src+'?d='+Math.random();" title="点击刷新" alt="captcha">
          </div>
        </div>
        <div class="form-group">
          <label class="lyear-checkbox checkbox-primary m-t-10">
            <input type="checkbox"><span>一周以内自动登录</span>
          </label>
        </div>
        <div class="form-group">
          <button class="btn btn-block btn-primary">立即登录</button>
        </div>
      </form>
      <hr>
      <footer class="col-sm-12 text-center">
        <p class="m-b-0">Copyright © 2021 <a href="www.qfedu.com">千锋教育</a>. All right reserved</p>
      </footer>
    </div>
  </div>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript">
  let loginForm = document.querySelector('#loginForm')
  loginForm.addEventListener('submit', doLogin)
  function doLogin(evt) {
    evt.preventDefault()
    // 通过文本框获取到文本内容(用户名),trim修剪内容左右两边空格
    let username = document.querySelector('#username').value.trim()
    let password = document.querySelector('#password').value
    // 通过输入验证码的input标签,获取验证码
    let captcha = document.querySelector('input[name=captcha]').value.trim()
    // 将获取到的用户名,密码,验证码组装成键值对,发给服务器的参数
    let params = {
      username: username,
      password: password,
      captcha: captcha
    }
    // 路由到处理登录请求的函数,fetch默认发get请求,发post请求需加说明
    // fetch第一个参数是地址,第二个参数是对象,对象里面是键值对,告知发给服务器的是json数据
    fetch('/login', {
      // 请求方法
      method: 'POST',
      // 请求头
      headers: {
        'content-type': 'application/json'
      },
      // 消息体(发给服务器的数据,将对象转换成字符串形式的json数据)
      body: JSON.stringify(params)
    }).then(resp => resp.json()).then(json => {
      if (json.code === 10000) {
        // 通过浏览器的本地存储,记录下服务器获取到的昵称和头像,localStorage需手动删除,否则一直存储
        // 或者用sessionStorage记录,区别是关闭浏览器即消除记录的信息
        // sessionStorage.nickname = json.nicknam
        localStorage.nickname = json.nickname
        localStorage.avatar = json.avatar
        location.href = '/static/index.html'
      } else {
        window.alert(json.message)
      }
    })
  }
</script>
</body>
</html>